/**
 * 应用配置相关接口
 */

import { getApiBaseUrl } from "@/utils/env";

const BASE_URL = getApiBaseUrl();

/**
 * 获取应用配置
 * @returns {Promise}
 */
export function getAppConfig() {
  return new Promise((resolve, reject) => {
    uni.request({
      url: `${BASE_URL}/api/config/app`,
      method: "GET",
      success: (res) => {
        if (res.statusCode === 200) {
          // 后端可能返回两种格式：
          // 1. 包装格式: { code: 200, message: 'success', data: {...} }
          // 2. 直接格式: {...}
          const response = res.data;
          
          // 检查是否是包装格式
          if (response && typeof response === 'object' && response.code === 200 && response.data) {
            // 包装格式
            resolve({
              code: 200,
              data: response.data
            });
          } else if (response && typeof response === 'object') {
            // 直接格式
            resolve({
              code: 200,
              data: response
            });
          } else {
            reject(new Error('响应数据格式错误'));
          }
        } else {
          reject(new Error(`请求失败: ${res.statusCode}`));
        }
      },
      fail: (err) => {
        reject(err);
      },
    });
  });
}

